היי, אני כרגע בונה אתר ל "לקוח" (אם אפשר להגיד). יותר כמו מערכת.
כרגע אני עובד על לוח הבקרה של הניהול.
חשוב לציין שאני עובד עם OOP!
הלקוח ביקש שיהיה אפשר לשנות את הגדרות האתר (כותרת האתר, כתובת פופ-אפ, וכד') דרך הלוח בקרה.
יש לי את הקלאס System שבו יש את כל המערכת. הוספתי למעלה משהו כזה:
public $CONF_title = 'מערכת';

וכשהמנהל יכנס ללוח הבקרה, וירצה לשנות את המשתנה הנ"ל, אז יבוצע הקוד הבא:
$this->CONF_title = 'כותרת לאחר שינוי..';

אבל.. זה לא עובד לי! כנראה בגלל שיש למשתנה ערך כבר מההתחלה. אני לא מצליח!
ניסיתי לעשות בעזרת קובץ חיצוני (ללא OOP) בשם config.php לדוגמה הזו. הצליח לי לשנות לדוגמה מקובץ ה index שלי, אך דרך הקלאס (System.php) לא הצלחתי לשנות.
עשיתי ככה:
$CONF_title = 'כותרת לאחר שינוי..';

(חשוב לציין שבקובץ ה config.php כתבתי את המשתנה בצורה הזו:
$CONF_title = 'מערכת';

).
מדף ה index.php המשתנה כן משתנה. עם זאת, מקובץ הקלאס (System.php) המשתנה לא משתנה! אני בכלל מקבל הודעה שאין משתנה כזה בשם $CONF_title. למרות שעשיתי require לקובץ config.php לפני הקובץ System.php, כך שאיני מבין מהי הבעיה.

אשמח מאוד לעזרה במהירות האפשרית, אוראל!

4 תשובות

avatar ענה Kzrh ב 09 לינואר 2012 #

לא משנה, הסתדרתי. אני משתמש ב $GLOBALS.

avatar ענה Kzrh ב 09 לינואר 2012 #

עכשיו אני לא מצליח לשנות את המשתנים שב config.php דרך קובץ אחר (index/System וכד').
מה לעשות?

avatar ענה Kzrh ב 09 לינואר 2012 #

(זה משתנה רק כל עוד השינוי של זה (

$GLOBALS['CONF_address'] = 'localhost/system';

נמצא בדף, ומעל ההצגה (הדפסה - echo) של המשתנה. אם השינוי מעל ההדפסה/לא נמצא בדף, אז זה לא משתנה. מה אוכל לעשות בכדי לשנות את זה לתמיד?)

avatar ענה intval ב 09 לינואר 2012 #

>> בגלל שיש למשתנה ערך כבר מההתחלה
זה לא קשור. כנראה שעשית משהו לא נכון, בגלל זה זה לא עבד לך.
הפתרון הכולל שלך יהיה לעשות לכתוב את הקוד נכון ואז תוכל לשנות הכל איפה שתרצה.
כרגע אני לא יודע איך נראה הקוד שלך ומה אתה עושה שם, לכן לנחש מה לא עובד לך ולמה אני לא יכול.
תעלה את הגוד שלך pastebin ונוכל לראות.